IFLAGS = -Isrc -g
TAR = VincentDieckhoff_MaximeCogney.tar.gz
SRC = src
OBJ = obj
BIN = bin

all : objs bison lex
	mkdir -p $(BIN)
	gcc $(OBJ)/lex.yy.c $(OBJ)/gram.tab.c $(OBJ)/Quads.o $(OBJ)/Hashmap.o $(OBJ)/mipser.o -lfl -ll -ly -o $(BIN)/analyseur $(IFLAGS)

objs : Quads.o Hashmap.o mipser.o
	mkdir -p $(OBJ)

Quads.o : $(SRC)/Quads.c $(SRC)/Quads.h
	gcc -c $(SRC)/Quads.c -o $(OBJ)/Quads.o $(IFLAGS)

Hashmap.o : $(SRC)/Hashmap.c $(SRC)/Hashmap.h 
	gcc -c $(SRC)/Hashmap.c -o $(OBJ)/Hashmap.o $(IFLAGS)

mipser.o : $(SRC)/mipser.c $(SRC)/mipser.h
	gcc -c $(SRC)/mipser.c -o $(OBJ)/mipser.o $(IFLAGS)

bison : $(SRC)/gram.y
	bison --defines $(SRC)/gram.y -v -o $(OBJ)/gram.tab.c

lex : $(SRC)/lex.l
	lex -o $(OBJ)/lex.yy.c $(SRC)/lex.l


clean :
	rm obj/*.output obj/*.o bin/analyseur $(TAR)

launcht1 :
	bin/analyseur test/t1

arithm :
	bin/analyseur test/arithm

fct :
	bin/analyseur test/arithmfct

bool :
	bin/analyseur test/bool

cond :
	bin/analyseur test/cond

rec :
	bin/analyseur test/rec

tri :
	bin/analyseur test/tri

tar :
	tar -czf $(TAR) src makefile diff.txt
